#include "device/n32g45x.h"
#include "core/core_cm4.h"
#include "n32g45x_rcc.h"

int hid_main();

int init_usb(){
	int core_id = 0;
	RCC_EnableAPB1PeriphReset(RCC_APB1_PERIPH_USB,1);
	RCC_EnableAPB1PeriphReset(RCC_APB1_PERIPH_USB,0);
	RCC_ConfigPclk1(RCC_HCLK_DIV4);
	RCC_EnableAPB1PeriphClk(RCC_APB1_PERIPH_USB,ENABLE);

    NVIC_SetPriorityGrouping(3);
	//crm_periph_clock_enable(CRM_USB_PERIPH_CLOCK, TRUE);
    RCC_ConfigUsbClk(RCC_USBCLK_SRC_PLLCLK_DIV3);

	RCC_EnableAPB1PeriphClk(RCC_APB1_PERIPH_USB,ENABLE);

	//nvic_irq_enable(USBFS_L_CAN1_RX0_IRQn,0,0);


    hid_main();
}

int usb_loop(){
	//初始化usb
	init_usb();
	while(1){};
	return 0;
}

